/***
 * 
 * 1. 防抖 : 在事件被触发n秒后再执行回调，如果在这n秒内又被触发，则重新计时。
 * 
 * 2. 节流 : 规定在一个单位时间内，只能触发一次函数。如果这个单位时间内触发多次函数，只有一次生效。
 * 
 * 3. 其实这个文件里面我们就可以一些性能优化的方法
 * 
 */


//防抖
function debounce(callback,delay){
    let timer = null;
    return function(){
        clearTimeout(timer)
        timer = setTimeout(()=>{
            callback();
        },delay)
    }
}

//节流
function throttle(){
    let lastTime = 0;
    return function(){
        let nowTime = new Date().getTime()
        if (nowTime - lastTime > wait) {
            handle();
            lastTime = nowTime;
        }
    }
}

export default {
    debounce,
    throttle
}